SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE PROCEDURE [dbo].ProductosUpdateCommand
(
	@ID numeric(10, 0),
	@CODIGO varchar(25),
	@ID_MARCA numeric(10, 0),
	@ID_MEDIDA numeric(10, 0),
	@ID_ORIGINAL numeric(10, 0),
	@UBICACION varchar(70),
	@COSTO numeric(10, 2),
	@PRECIO numeric(10, 2),
	@X_GANANCIA numeric(10, 4),
	@EXISTENCIA numeric(10, 2),
	@MINIMO numeric(10, 2),
	@MAXIMO numeric(10, 2),
	@IMPUESTOS bit,
	@DESCUENTO bit,
	@SERVICIO bit,
	@ACTIVO bit,
	@Original_ID numeric(10, 0),
	@Original_CODIGO varchar(25),
	@Original_ID_MARCA numeric(10, 0),
	@Original_ID_MEDIDA numeric(10, 0),
	@Original_ID_ORIGINAL numeric(10, 0),
	@IsNull_UBICACION Int,
	@Original_UBICACION varchar(70),
	@Original_COSTO numeric(10, 2),
	@Original_PRECIO numeric(10, 2),
	@Original_X_GANANCIA numeric(10, 4),
	@Original_EXISTENCIA numeric(10, 2),
	@Original_MINIMO numeric(10, 2),
	@Original_MAXIMO numeric(10, 2),
	@Original_IMPUESTOS bit,
	@Original_DESCUENTO bit,
	@Original_SERVICIO bit,
	@Original_ACTIVO bit
)
AS
	SET NOCOUNT OFF;
UPDATE [PRODUCTOS] SET [ID] = @ID, [CODIGO] = @CODIGO, [ID_MARCA] = @ID_MARCA, [ID_MEDIDA] = @ID_MEDIDA, [ID_ORIGINAL] = @ID_ORIGINAL, [UBICACION] = @UBICACION, [COSTO] = @COSTO, [PRECIO] = @PRECIO, [X_GANANCIA] = @X_GANANCIA, [EXISTENCIA] = @EXISTENCIA, [MINIMO] = @MINIMO, [MAXIMO] = @MAXIMO, [IMPUESTOS] = @IMPUESTOS, [DESCUENTO] = @DESCUENTO, [SERVICIO] = @SERVICIO, [ACTIVO] = @ACTIVO WHERE (([ID] = @Original_ID) AND ([CODIGO] = @Original_CODIGO) AND ([ID_MARCA] = @Original_ID_MARCA) AND ([ID_MEDIDA] = @Original_ID_MEDIDA) AND ([ID_ORIGINAL] = @Original_ID_ORIGINAL) AND ((@IsNull_UBICACION = 1 AND [UBICACION] IS NULL) OR ([UBICACION] = @Original_UBICACION)) AND ([COSTO] = @Original_COSTO) AND ([PRECIO] = @Original_PRECIO) AND ([X_GANANCIA] = @Original_X_GANANCIA) AND ([EXISTENCIA] = @Original_EXISTENCIA) AND ([MINIMO] = @Original_MINIMO) AND ([MAXIMO] = @Original_MAXIMO) AND ([IMPUESTOS] = @Original_IMPUESTOS) AND ([DESCUENTO] = @Original_DESCUENTO) AND ([SERVICIO] = @Original_SERVICIO) AND ([ACTIVO] = @Original_ACTIVO));
	
SELECT ID, CODIGO, ID_MARCA, ID_MEDIDA, ID_ORIGINAL, UBICACION, COSTO, PRECIO, X_GANANCIA, EXISTENCIA, MINIMO, MAXIMO, IMPUESTOS, DESCUENTO, SERVICIO, ACTIVO FROM PRODUCTOS WHERE (ID = @ID)
GO
